/**
 * Copyright (C), 2020-2020, 人生无限公司
 * FileName: Test1
 * Description:
 * * 随机生成n张扑克牌。
 * * 代码实现，效果如图所示：
 * ![](img\6.jpg)
 * * 开发提示：
 * - 使用集合保存所有的扑克牌对象。
 * - 从所有牌中，随机移除n张牌，保存到新集合。
 * - 判断n的值，不能超越一副扑克牌的范围。
 * - 结果：
 *  随机获取几张牌：
 *  5
 *  [黑桃5, 方片3, 黑桃9, 黑桃4, 黑桃4]
 *  随机获取几张牌：
 *  55
 * 超出范围，无法获取
 * @create: 2020/7/17 16:55
 * @author Reanon
 * @version JDK 1.8.0_251
 */
package cn.reanon.day06.homework.test6;

import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;

public class Test1 {
    public static void main(String[] args) {
        Scanner r = new Scanner(System.in);
        System.out.println("随机获取几张牌：");
        int num = r.nextInt();
        getCard(num);
    }

    public static ArrayList<String> pukeInit() {
        ArrayList<String> puke = new ArrayList<>();
        // 花色数组
        String[] arr1 = new String[]{"黑桃", "红桃", "梅花", "方片"};
        // 点数数组
        String[] arr2 = new String[]{"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "j", "Q", "K"};
        for (int i = 0; i < arr1.length; i++) {
            for (int j = 0; j < arr2.length; j++) {
                puke.add(arr1[i] + arr2[j]);
            }
        }
        return puke;
    }

    public static void getCard(int n) {
        ArrayList<String> puke = pukeInit();
        ArrayList<String> pick = new ArrayList<>();
        Random r = new Random();
        if (n > puke.size()) {
            System.out.println("超出范围，无法获取");
            return;
        }
        for (int i = 0; i < n; i++) {
            int index = r.nextInt(puke.size());
            pick.add(puke.get(index));
        }
        System.out.println(pick);
    }
}
